1. Technical Field of the Invention
The present invention relates to the transmission of digital data bits, and more particularly, to a method for utilizing a second set of digital data bits to detect errors within a first set of digital data bits.
2. Description of Related Art
The transmission of digital data bits or symbols over noisy channels gives rise to the possibility of errors within the transmitted digital data symbols. Errors in some symbols are more catastrophic than errors in other symbols and must be protected with error detection and correction- In the transmission of mobile wireless signals, the data symbols may represent different parts of a digitized speech waveform. If errors occur in the more important data bits (Class I bits) of a speech waveform and are undetected, processing of the speech waveform by a speech decoder may cause unpleasant artefacts to occur. Artefacts comprise unpleasant, non-speech sounds created within a decoded speech waveform due to decoding errors. Errors within the less important speech bits (Class II bits) of the speech waveform only cause tolerable increases in the background noise.
Errors in the more important Class I data bits must be detected in order to enable the use of various means for masking the generation of artefacts. For example, British Patent No. 8119215, incorporated herein by reference, describes how a corrupt segment of the speech waveform can be replaced by an earlier received segment of the speech waveform corresponding to a segment of the speech waveform approximately one or more larynx pulse periods previous to the corrupted segment. More sophisticated error masking strategies known as artificial regeneration are described in U.S. Pat. No. 5,097,507, which is incorporated herein by reference.
When the input bits representing digitized speech produced by speech digitizers, such as a residually excited linear predictive (RELP) coder, a vector code block excited linear predictive (VSELP) coder or an advanced multi-band excitation (or sub-band) encoder (AMBE), are processed, certain bits (the Class I bits) are not only more important than other bits (the Class II bits) to protect with error correction coding, but they are also more important to protect with error detection processes. When error correction coding fails, artefacts are produced which can be very disturbing to a listener. Artefacts may be prevented by detecting when errors have occurred in the Class I bits and muting the audio output or incorporating sophisticated error bridging techniques.
Various methods presently exist for error detection within decoded digital data. One of these methods, frame-based speech decoding methods, divides the bits in a frame into important and less important bits and protects the most important bits using cyclic redundancy check (CRC) codes for error detection. This process is described in the published standards for the European digital cellular system known as GSM.
In land-based cellular radio telephone systems which are capacity limited by mutual interference between co-channel users, the addition of the CRC code to all transmissions does not alter the carrier to interference ratio (C/I) of a signal and does not therefore have a significant effect upon capacity. In a satellite communication system that is capacity limited by the amount of satellite transmission power available to combat thermal background noise, the addition of a CRC code to the transmission increases the number of bits or symbols that must be transmitted. This increases the transmitter power needed. The error detection capability of the CRC code is thus only obtained at the expense of transmitted power. Since increasing transmitted power would have reduced the error rate even without using a CRC code, no clear benefit is obtained. Thus, a method of improving detection of errors in a group of more important bits, such as Class I speech bits, without increasing the number of symbols necessary to be transmitted would be of great benefit. U.S. Pat. No. 5,517,511 (Hardwick, et al.) describes a method using Golay block codes to detect errors Iin a first group of bits by decoding a second group of bits. Golay codes however are only available for a specific coding rate of 1/2 which is inadequate in many situations. Therefore, a method is required using more flexible convolutional codes.